node.jsのいろいろなモジュール34 – ヒアドキュメントを使う
JavaScriptでヒアドキュメント
たまに複数行の長い文字列を書きたくなることがあります。 Rubyだとヒアドキュメントの機能があるので簡単ですが、JavaScriptの場合は文字列を+でつなげたりするしかありません。 しかし、今回紹介するnode-hereモジュールを使用すれば、ヒアドキュメントが使えるようになります。
環境構築方法
今回使用した動作環境は以下のとおりです。
- OS : MacOS X 10.7.5
- Node.js : v0.10.4
- npm : 1.2.18
npmを使用してモジュールをインストールしましょう。
% mkdir here % cd here % npm install here
サンプルプログラム作成
モジュールをrequireして、here関数にブロック文字列をコメントとして渡します。 下記プログラムを実行すると、html表現の文字列がそのまま表示されます。
var here = require('here').here; console.log(here(/* <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>hello here document</title> </head> <body> hello here document </body> </html> */).unindent());
まとめ
ちなみに、最後に呼んでいるunindent関数は、行頭のインデントを無視した形式で文字列を生成するようです。 もしそのままの文字列を返したい場合、valueOf関数を使用します。